<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<!-- 
    收集表单数据：
      若<input type="text"/> 则v-model收集的就是value的值 用户输入的就是value的值
      若<input type="radio"/> 则v-model收集的就是value的值 且要给标签配置value的值
      若<input type="checkbox"/> 那么收集的就是 checked(勾选or未勾选 是布尔值)
 

      配置input的value属性
      （1）v-model的初始值是非数组，那么收集的就是checked（勾选或者未勾选，是布尔值）
      （2）v-model的初始值是数组，那么收集的就是value组成的数组

      备注：v-model的三个修饰符：
      lazy:失去焦点再收集数据
      number:输入字符串转化为有效的数字
      trim:输入首尾空格过滤
 
 
 
    -->

<body>
    <div id="root">
        <form action="" @submit.prevent="demo">
            <label for="TW"> 姓名：</label>
            <input type="text" id="TW" v-model.trim="userInfo.account"><br><br> 密码：
            <input type="password" id="pa" v-model="userInfo.password"><br><br> 年龄：
            <input type="number" v-model.number="userInfo.age"> <br><br> 性别： <input type="radio" name="sex" value="male" v-model="userInfo.sex">男
            <input type="radio" name="sex" v-model="userInfo.sex" value="female">女<br><br> 爱好： 所属校区:
            <select v-model="userInfo.city">
                <option value="school">请选择校区</option>
                <option value="beijing">北京</option>
                <option value="shanghai">上海</option>
               <option value="shenzhen">深圳</option>
            </select>
            <br><br>
            <input type="checkbox" v-model="userInfo.hobby" value="study"> 学习
            <input type="checkbox" v-model="userInfo.hobby" value="sing"> 唱歌
            <input type="checkbox" v-model="userInfo.hobby" value="dance"> 跳舞
            <input type="checkbox" v-model="userInfo.hobby" value="game"> 王者<br><br> 其他信息：
            <textarea name="" v-model.lazy="userInfo.other"></textarea><br><br>
            <input type="checkbox" v-model="userInfo.agree"> 阅读并接受
            <a href="#">《用户协议》</a><button>提交</button>
        </form>
    </div>
    <script>
        Vue.config.productionTip = false;
        new Vue({
            el: '#root',
            data: {
                userInfo: {
                    account: '',
                    password: '',
                    age: '',
                    sex: 'female',
                    city: 'beijing',
                    hobby: [],
                    other: '',
                    agree: '',

                }
            },
            methods: {
                demo() {
                    console.log(JSON.stringify(this.userInfo));
                }
            }
        })
    </script>
</body>

</html>